#pragma once 

namespace RenderSystem
{

	class FD3D9Viewport : public Common::FRefCountedObject, public TFDynamicRHIResource<RRT_Viewport>
	{
	public:

		FD3D9Viewport(class FD3D9DynamicRHI* InD3DRHI,void* InWindowHandle,UINT InSizeX,UINT InSizeY,bool bInIsFullscreen);
		~FD3D9Viewport();

		void Resize(UINT InSizeX,UINT InSizeY,bool bInIsFullscreen);

		// Accessors.
		void* GetWindowHandle() const { return WindowHandle; }
		UINT GetSizeX() const { return SizeX; }
		UINT GetSizeY() const { return SizeY; }
		bool IsFullscreen() const { return bIsFullscreen; }

	private:
		FD3D9DynamicRHI* D3DRHI;
		void* WindowHandle;
		UINT SizeX;
		UINT SizeY;
		bool bIsFullscreen;
	};


}